A. Field of the Invention
The present invention relates to electronic reproduction of images, and in particular to a method of adjusting the contours appearing in bitmap or halftone separations for variations in printing equipment.
B. Description of the Related Art
Traditional methods of representing and storing images for subsequent reproduction on print media involve decomposing the original image into a pattern of monochrome (or "halftone") dots. Although the dots themselves are either black or white, their relative sizes and densities may be varied, thereby enabling simulated reproduction of a gray scale notwithstanding the binary tonality of the individual dots. This approach simplifies the actual printing process considerably.
Color images are usually printed in separate, successive stages of ink application. Each layer of colored ink is applied directly atop the previous stage. This method facilitates use of printing devices having a series of single-color inking stations, each of which makes sequential, registered contact with the substrate.
The number of stages required for complete image rendition depends on the "color model" chosen, the most typical consisting of blue (cyan), magenta, yellow and black ink layers. Accordingly, multicolored images are first separated into a set of monochrome representations, each of which corresponds to the contribution of a particular color to the overall image. These monochrome separations may then be further decomposed into a halftone pattern for printing. Of course, the quality of the ultimate image depends largely on the mechanical precision with which the printer registers the successive ink layers.
Although the manner of converting source images into halftone patterns has undergone significant transformation over the years, the need for these patterns has not disappeared. Modern printing devices continue to employ the same operating principles as their antiquated counterparts. Consequently, while older systems relied upon various photographic screening processes to generate halftone patterns, contemporary devices utilize electronic storage and manipulation techniques to produce a similar end-product.
Systems that store pictorial or other visual information in electronic form generally provide sufficient flexibility to accommodate a variety of data types, including text, characters of various sizes and shapes, graphic (or "line-art") shapes consisting of or bounded by lines, curves or solid areas, as well as continuous-tone photographic images. By using various algorithmic operations, which are now well-characterized in the art, one can resolve these images into color separations and thereafter into halftone patterns.
Images are digitally stored as discrete picture elements, or "pixels", with each pixel corresponding to an identified image point. The entire set of pixels representing an image is referred to as a "bitmap" of the image. While simple monochrome image pixels can consist of single computer-memory bits, each of which indicates whether the corresponding image point is light or dark, color image pixels generally require additional specification information (such as values for hue, color value, and saturation). This additional information may be supplied in a straightforward manner to devices, such as CRT displays, that are capable of directly representing such information.
However, conventional color printing devices can imprint only a unitary dot of a given hue. Accordingly, representing color value and saturation is ordinarily achieved by defining pixels as small image areas, or "cells", that may be filled with varying numbers of colored dots (usually according to a predetermined pattern); because of their sub-pixel size, these dots are referred to as "microdots." If the cells are small enough, the human eye will be unable to resolve the individual microdots therein, while retaining the ability to discern color value and saturation based on the number of microdots per pixel. Pixels can be "shaped" to conform to a contour by eliminating microdots that cross the contour; this truncation operation decreases both the absolute number of microdots and the allowed pixel area, thus retaining the original color density in the affected region. (Note that these microdots are generally much smaller than the halftone dots used in printing.)
Similarly, digital halftone dots are produced by combining a continuous-tone sample image with a digital halftone screen. The screen is made up of periodic cells, each containing a number of microdots. The intensities of sample image points are compared with the threshold level assigned to the cells. If the threshold level of a cell is not exceeded, the cell remains white; otherwise, microdots are "turned on", or set, according to a predetermined pattern. The number of microdots set in a particular cell depends on the intensity of the corresponding sample image point.
Images are typically represented and stored as high-level specifications in a common representational format, e.g. page-description language instructions. In order to be output on a specific device, this data must be converted to a raster pattern suitable for output. A "raster" refers to a regular two-dimensional pattern, divided into a discrete number of positions, that covers the image area. Conversion of the image from a high-level description into a bitmap pattern of microdots, each of which can be "on" (set) or "off" (clear), is referred to as "rasterization" or "raster conversion." For ease of storage and efficiency of transmission, the raster pattern is usually encoded as an ordered list of set and clear microdots rather than as an unordered grid; this ordered list is referred to as a "run-length" specification.
For halftone output, the microdot bitmap can be translated into a halftone pattern by electronic "screening", in which the image pixel pattern is matched against a digital halftone screen made up of periodic cells, with each cell composed of a number of discrete threshold levels. The pixel pattern is compared with the threshold level at each cell position. If the pixel density exceeds the threshold level at a cell position, that position is set; otherwise, it remains off. Halftone dots can be shaped in the same manner as pixels.
In commercial printing applications that involve pictorial images, imperfections associated with the printing process degrade image acuity to an extent sufficient to warrant neglecting the effect of pixel or halftone dot shape; in other words, a unitary pixel shape will not further reduce edge sharpness below the level already inherent in the image as a consequence of the printing process. The same does not hold true for line-art images, however. If pixels or halftone dots that define edge features are not contoured along the edge boundaries, the line-art will appear rough or serrated when printed, producing the appearance that the line-art was sampled at a lower resolution than was actually the case.
Registration errors are also more noticeable in printed line-art images than in continuous-tone images. To compensate for the offset and/or slippage that inevitably accompanies printing with ordinary devices, the rasterized data is frequently subjected to operations that expand the edges in the lighter-colored separations (referred to as "spreading") and contract the edges in darker separations (referred to as "choking"). Practitioners in this field have determined that such an approach offers visually optimal interedge compatibility among neighboring line-art objects.
Unfortunately, if spreading and choking operations are performed merely by scaling, these procedures can themselves introduce unwanted image distortions. For example, if pixels have previously been shaped to conform to edge contours, the shapes may deviate significantly from the new edge contours that result from the spreading and/or choking operations. The visual effect of this mismatch will be to reintroduce the very edge imperfections that were ameliorated by pixel shaping. Another limitation associated with absolute scaling occurs when the contour of the line-art shape forms a narrow channel, such that choking according to the scaling factor creates a "reverse overlap" (as will be discussed below) across opposite edges; the result is a contour distortion rather than an enhancement.
Current methods for performing spreading and choking operations are also limited in that they tend either to apply expansion and contraction factors only to edges that define boundaries between foreground and background, or to treat these boundaries as equivalent to those between overlapping or neighboring objects. Either approach limits the ability of the designer to achieve local control over spreading and choking (i.e., altering the amounts for different parts of the overall image).